package com.elastic.generator;

import com.elastic.util.MyDataSource;
import com.jfinal.kit.PathKit;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.activerecord.generator.Generator;

/**
 * @author: 李德才
 * @description:
 * @create: 2021-04-05 16:04
 **/
public class MyGenerator {

    public static void main(String[] args) {

        // model 所使用的包名 (MappingKit 默认使用的包名)
        String modelPackageName = "com.elastic.model";
// base model 所使用的包名
        String baseModelPackageName = modelPackageName + ".base";

// base model 文件保存路径
        String baseModelOutputDir = PathKit.getWebRootPath() + "/src/main/java/" + baseModelPackageName.replace('.', '/');

// model 文件保存路径 (MappingKit 与 DataDictionary 文件默认保存路径)
        String modelOutputDir = baseModelOutputDir + "/..";

        System.out.println("输出路径：" + baseModelOutputDir);

        Generator generator = new Generator(MyDataSource.getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir);
        // 配置是否生成备注
        generator.setGenerateRemarks(true);
        // 设置是否在 Model 中生成 dao 对象
        generator.setGenerateDaoInModel(true);
        // 设置是否生成链式 setter 方法
        generator.setGenerateChainSetter(true);
        // 配置方言
//        generator.setDialect(new OracleDialect());
        generator.setDialect(new MysqlDialect());
        // 设置是否生成字典文件
        generator.setGenerateDataDictionary(false);
        generator.generate();
    }
}
